草庐IT

leetcode 2744

全部标签

leetcode 220. Contains Duplicate III 存在重复元素 III(困难)

一、题目大意给你一个整数数组nums和两个整数k和t。请你判断是否存在两个不同下标i和j,使得abs(nums[i]-nums[j])如果存在则返回true,不存在返回false。示例1:输入:nums=[1,2,3,1],k=3,t=0输出:true示例2:输入:nums=[1,0,1,1],k=1,t=2输出:true示例3:输入:nums=[1,5,9,1,5,9],k=2,t=3输出:false提示:0-23100来源:力扣(LeetCode)链接:https://leetcode.cn/problems/contains-duplicate-iii著作权归领扣网络所有。商业转载请联系

leetcode 227. Basic Calculator II 基本计算器 II(中等)

一、题目大意给你一个字符串表达式s,请你实现一个基本计算器来计算并返回它的值。整数除法仅保留整数部分。你可以假设给定的表达式总是有效的。所有中间结果将在[-231,231-1]的范围内。注意:不允许使用任何将字符串作为数学表达式计算的内置函数,比如eval()。示例1:输入:s="3+2*2"输出:7示例2:输入:s="3/2"输出:1示例3:输入:s="3+5/2"输出:5提示:1s由整数和算符('+','-','*','/')组成,中间由一些空格隔开s表示一个有效表达式表达式中的所有整数都是非负整数,且在范围[0,231-1]内题目数据保证答案是一个32-bit整数来源:力扣(LeetCo

leetcode 696. Count Binary Substrings 计数二进制子串(简单)

一、题目大意给定一个字符串s,统计并返回具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是成组连续的。重复出现(不同位置)的子串也要统计它们出现的次数。示例1:输入:s="00110011"输出:6解释:6个子串满足具有相同数量的连续1和0:"0011"、"01"、"1100"、"10"、"0011"和"01"。注意,一些重复出现的子串(不同位置)要统计它们出现的次数。另外,"00110011"不是有效的子串,因为所有的0(还有1)没有组合在一起。示例2:输入:s="10101"输出:4解释:有4个子串:"10"、"01"、"10"、"01",具有相同数量的

【重要】LeetCode 662. 二叉树最大宽度

题目链接注意事项根据满二叉树的节点编号规则:若根节点编号为u,则其左子节点编号为u一个朴素的想法是:我们在DFS过程中使用两个哈希表分别记录每层深度中的最小节点编号和最大节点编号,两者距离即是当前层的宽度,最终所有层数中的最大宽度即是答案。而实现上,我们可以利用先DFS左节点,再DFS右节点的性质可知,每层的最左节点必然是最先被遍历到,因此我们只需要记录当前层最先被遍历到点编号(即当前层最小节点编号),并在DFS过程中计算宽度,更新答案即可。关于编号溢出问题,之所以溢出仍能AC是因为测试数组中没有同层内「宽度」左端点不溢出,右端点溢出,同时该层就是最大宽度的数据点。我们可以通过u=u-map.

leetcode 647. Palindromic Substrings回文子串(中等)

一、题目大意给你一个字符串s,请你统计并返回这个字符串中回文子串的数目。回文字符串是正着读和倒过来读一样的字符串。子字符串是字符串中的由连续字符组成的一个序列。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。示例1:输入:s="abc"输出:3解释:三个回文子串:"a","b","c"示例2:输入:s="aaa"输出:6解释:6个回文子串:"a","a","a","aa","aa","aaa"提示:1s由小写英文字母组成来源:力扣(LeetCode)链接:https://leetcode.cn/problems/palindromic-substrings著作权

leetcode 205. Isomorphic Strings 同构字符串(简单)

一、题目大意给定两个字符串s和t,判断它们是否是同构的。如果s中的字符可以按某种映射关系替换得到t,那么这两个字符串是同构的。每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。示例1:输入:s="egg",t="add"输出:true示例2:输入:s="foo",t="bar"输出:false示例3:输入:s="paper",t="title"输出:true提示:1t.length==s.lengths和t由任意有效的ASCII字符组成来源:力扣(LeetCode)链接:https://leetc

leetcode 242. Valid Anagram 有效的字母异位词(简单)

一、题目大意https://leetcode.cn/problems/valid-anagram给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。注意:若s和t中每个字符出现的次数都相同,则称s和t互为字母异位词。示例1:输入:s="anagram",t="nagaram"输出:true示例2:输入:s="rat",t="car"输出:false提示:1s和t仅包含小写字母进阶:如果输入字符串包含unicode字符怎么办?你能否调整你的解法来应对这种情况?二、解题思路建立一个哈希表映射,一共26个字母,可以用一个数组来代替哈希表,我们先判断两个字符串长度不相同返回false。然后

leetcode 594. Longest Harmonious Subsequence 最长和谐子序列(简单).md

一、题目大意https://leetcode.cn/problems/longest-harmonious-subsequence和谐数组是指一个数组里元素的最大值和最小值之间的差别正好是1。现在,给你一个整数数组nums,请你在所有可能的子序列中找到最长的和谐子序列的长度。数组的子序列是一个由数组派生出来的序列,它可以通过删除一些元素或不删除元素、且不改变其余元素的顺序而得到。示例1:输入:nums=[1,3,2,2,5,2,3,7]输出:5解释:最长的和谐子序列是[3,2,2,2,3]示例2:输入:nums=[1,2,3,4]输出:2示例3:输入:nums=[1,1,1,1]输出:0提示:

leetcode 697. Degree of an Array 数组的度(简单)

一、题目大意https://leetcode.cn/problems/degree-of-an-array给定一个非空且只包含非负数的整数数组nums,数组的度的定义是指数组里任一元素出现频数的最大值。你的任务是在nums中找到与nums拥有相同大小的度的最短连续子数组,返回其长度。示例1:输入:nums=[1,2,2,3,1]输出:2解释:输入数组的度是2,因为元素1和2的出现频数最大,均为2。连续子数组里面拥有相同度的有如下所示:[1,2,2,3,1],[1,2,2,3],[2,2,3,1],[1,2,2],[2,2,3],[2,2]最短连续子数组[2,2]的长度为2,所以返回2。示例2:

leetcode 503. Next Greater Element II 下一个更大元素 II(中等)

一、题目大意https://leetcode.cn/problems/next-greater-element-ii给定一个循环数组nums(nums[nums.length-1]的下一个元素是nums[0]),返回nums中每个元素的下一个更大元素。数字x的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出-1。示例1:输入:nums=[1,2,1]输出:[2,-1,2]解释:第一个1的下一个更大的数是2;数字2找不到下一个更大的数;第二个1的下一个最大的数需要循环搜索,结果也是2。示例2:输入:nums=[1,